In a multimedia application development environment, users often want to assign a path along which a part will move to give the application special effects. For example, a user might want to display an animation of a bird appearing on the left edge of a page and flying across the page to exit on the right side of the page. Using known techniques, the assignment of a motion path to a part is tedious. In addition, the known techniques have limited flexibility and require construction separate from the part layout area. Once constructed, it is difficult to modify the path.
One type of path definition is found in, for example, Premier by Adobe. To construct a path for an object/part, the part must be taken from the layout area and placed in a separate window. Then, the user can draw a path for the part using a pointing device. There is no one-to-one scale and the path is drawn without the perspective of the actual environment including lack of surrounding parts. Thus, the user must create the path and then assign it, return to the layout area and run a test. If the path does not look right, the user must return the part to the separate path definition window and try again. This is awkward and time consuming, especially in complex layouts.
Another type of path definition can be found in Director by Macromedia. This type of path definition allows the use of the actual layout area for construction but also requires the use of a "score" area. The user must drag the part to the start time in the score. Then the user must drag the part to the next movement position in the layout are followed by another dragging to the score area for the time it should appear in that position. Once these steps have occurred from start point to finish point, the score area is highlighted and the placement is made on the layout area. Thus, this method can also be slow and tedious.
If a user wants to store and reuse one of the paths created (especially in the case of a complex or particularly interesting path), the user is faced with almost no flexibility. In most cases, the entire layout including all the objects therein and any paths assigned thereto must be stored as an entity. Thus, a desired path is not only tied to the object for which it was created, but also to the other objects/parts in the same layout. Therefore, if the user wants to assign that motion path to another part/object, there is no simple and fast way to do so.
Thus, there is a need for a method and system for saving a defined path as an independent entity that is quick and easy to use, especially for complex arrangements of multiple parts and/or multiple paths.